package com.itheima.consumer.client;

import com.itheima.consumer.client.fallback.UserClientFallback;
import com.itheima.consumer.config.FeignConfig;
import com.itheima.consumer.pojo.User;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;

//声明当前类是一个Feign客户端，指定服务名为user-service
@FeignClient(value = "user-service", fallback = UserClientFallback.class,
configuration = FeignConfig.class)
public interface UserClient {

    //http://user-service/user/123
    // [192.168.200.128:9101,192.168.200.128:9102]  Ribbon 得到 IP：PORT
    // 拼接 请求URL 并且请求方式， 实现代理对象并且存入 IOC容器中
    @GetMapping("/user/{id}")   // 要和 url 请求方式 参数 要保持一致
    User queryById(@PathVariable("id") Long id);
}
